<?php
#### START AUTOCODE
################################################################################
#  Lumine - Database Mapping for PHP
#  Copyright (C) 2005  Hugo Ferreira da Silva
#  
#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#  
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#  
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>
################################################################################
/**
 * Classe generada para a tabela "produtos"
 * in 2014-02-24
 * @author Hugo Ferreira da Silva
 * @link http://www.hufersil.com.br/lumine
 * @package dao_orm
 *
 */

class Produtos extends Lumine_Base {

    // sobrecarga
    protected $_tablename = 'produtos';
    protected $_package   = 'dao_orm';
    
    
    public $codigoProduto;
    public $codigoCategoria;
    public $codigoFornecedor;
    public $codigoInterno;
    public $nome;
    public $tamanho;
    public $quantidade;
    public $valorCompra;
    public $valor;
    public $desconto;
    public $brinde;
    public $qtdBrindes;
    public $dataCompra;
    public $imageUrl;
    public $codigoProdutoFornecedor;
    public $valorVenda;
    public $tipo;
    public $dataInventario;
    public $vendaprodutos = array();
    
    
    
    /**
     * Inicia os valores da classe
     * @author Hugo Ferreira da Silva
     * @return void
     */
    protected function _initialize()
    {
        
        
        # nome_do_membro, nome_da_coluna, tipo, comprimento, opcoes
        
        $this->_addField('codigoProduto', 'codigo_produto', 'int', 11, array('primary' => true, 'notnull' => true, 'autoincrement' => true));
        $this->_addField('codigoCategoria', 'codigo_categoria', 'int', 11, array('foreign' => '1', 'onUpdate' => 'CASCADE', 'onDelete' => 'RESTRICT', 'linkOn' => 'codigoCategoria', 'class' => 'Categorias'));
        $this->_addField('codigoFornecedor', 'codigo_fornecedor', 'int', 11, array('foreign' => '1', 'onUpdate' => 'CASCADE', 'onDelete' => 'RESTRICT', 'linkOn' => 'codigoFornecedor', 'class' => 'Fornecedor'));
        $this->_addField('codigoInterno', 'codigo_interno', 'varchar', 50, array());
        $this->_addField('nome', 'nome', 'varchar', 300, array());
        $this->_addField('tamanho', 'tamanho', 'varchar', 3, array());
        $this->_addField('quantidade', 'quantidade', 'int', 11, array('default' => '0'));
        $this->_addField('valorCompra', 'valor_compra', 'float', null, array());
        $this->_addField('valor', 'valor', 'float', null, array());
        $this->_addField('desconto', 'desconto', 'int', 3, array('default' => '0'));
        $this->_addField('brinde', 'brinde', 'int', 1, array('default' => '0'));
        $this->_addField('qtdBrindes', 'qtd_brindes', 'int', 11, array());
        $this->_addField('dataCompra', 'data_compra', 'date', null, array());
        $this->_addField('imageUrl', 'image_url', 'varchar', 200, array());
        $this->_addField('codigoProdutoFornecedor', 'codigo_produto_fornecedor', 'varchar', 15, array());
        $this->_addField('valorVenda', 'valor_venda', 'float', null, array());
        $this->_addField('tipo', 'Tipo', 'int', 1, array('default' => '1'));
        $this->_addField('dataInventario', 'data_inventario', 'date', null, array());

        
        $this->_addForeignRelation('vendaprodutos', self::ONE_TO_MANY, 'VendaProdutos', 'codigoProduto', null, null, null);
    }

    /**
     * Recupera um objeto estaticamente
     * @author Hugo Ferreira da Silva
     * @return Produtos
     */
    public static function staticGet($pk, $pkValue = null)
    {
        $obj = new Produtos;
        $obj->get($pk, $pkValue);
        return $obj;
    }

	/**
	 * chama o destrutor pai
	 *
	 */
	function __destruct()
	{
		parent::__destruct();
	}
	
    #------------------------------------------------------#
    # Coloque todos os metodos personalizados abaixo de    #
    # END AUTOCODE                                         #
    #------------------------------------------------------#
    #### END AUTOCODE


}
